0133ef6230840109c0dc1e8b773a11dd196b7711,java/servers/src/org/xtreemfs/osd/operations/ReadOperation.java,ReadOperation,startRequest,#OSDRequest#,60

Before Change


        }

        // TODO(jdillmann): Use centralized method to check if a lease is required.
        if (rq.getLocationList().getNumReplicas() > 1
                && ReplicaUpdatePolicies.isRwReplicated(rq.getLocationList().getReplicaUpdatePolicy())) {
            rwReplicatedRead(rq, args);
        } else {
            final long snapVerTS = rq.getCapability().getSnapConfig() == SnapConfig.SNAP_CONFIG_ACCESS_SNAP? rq.getCapability().getSnapTimestamp(): 0;

After Change


            return;
        }

        int numReplicas = rq.getLocationList().getNumReplicas();
        String replicaUpdatePolicy = rq.getLocationList().getReplicaUpdatePolicy();

        if (numReplicas > 1 && ReplicaUpdatePolicies.isRW(replicaUpdatePolicy)) {
            rwReplicatedRead(rq, args);
        } else if (numReplicas == 1 || ReplicaUpdatePolicies.isRO(replicaUpdatePolicy)) {
            final long snapVerTS = rq.getCapability().getSnapConfig() == SnapConfig.SNAP_CONFIG_ACCESS_SNAP
                    ? rq.getCapability().getSnapTimestamp() : 0;

            master.getStorageStage().readObject(args.getFileId(), args.getObjectNumber(), sp, args.getOffset(),
                    args.getLength(), snapVerTS, rq, new ReadObjectCallback() {

                        @Override
                        public void readComplete(ObjectInformation result, ErrorResponse error) {
                            postRead(rq, args, result, error);
                        }
                    });
        } else {
            rq.sendError(ErrorType.ERRNO, POSIXErrno.POSIX_ERROR_EINVAL,
                    "Invalid ReplicaUpdatePolicy: " + replicaUpdatePolicy);
        }
    }